package com.financing.wap.service;

import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.financing.wap.dto.MessageJpushDTO;
import com.financing.wap.dto.NewsDTO;
import com.financing.wap.dto.TagNewsDTO;
import com.financing.wap.dto.TagProductDTO;
import com.financing.wap.vo.QueryNewsVo;
import com.financing.wap.vo.TagRelateVo;

public interface INewsService {
	
	/**
	 * 资讯列表
	 * @param queryVo
	 * @return
	 */
	public List<NewsDTO> getNewsList(QueryNewsVo queryVo);
	

	/**
	 * 记录数
	 * @param queryVo
	 * @return
	 */
	public  int getNewsListCount(QueryNewsVo queryVo);
	
	
	/**
	 * 咨询详情
	 * @param queryVo
	 * @return
	 */
	public NewsDTO searchNewsById(Integer id);
	
	/**
	 * 查询产品相关资讯
	 * @param pId
	 * @return
	 */
	public List<TagNewsDTO> getAboutNewsByPid(TagRelateVo  tagRelateVo);
	
	/**
	 * 查询产品相关资讯数
	 * @param pId
	 * @return
	 */
	public Integer getAboutNewsByPidCount(TagRelateVo  tagRelateVo);
	
	/**
	 * 查询资讯相关产品
	 * @param tagRelateVo
	 * @return
	 */
	public List<TagProductDTO> getAboutProductsByPid(TagRelateVo  tagRelateVo);
	
	/**
	 * 查询资讯相关产品数
	 * @param tagRelateVo
	 * @return
	 */
	public Integer getAboutProductsByPidCount(TagRelateVo  tagRelateVo);
	
	/**
	 * 查询标签相关资讯
	 * @param tagRelateVo
	 * @return
	 */
	public List<TagProductDTO> getAboutTagProductsByPid(TagRelateVo  tagRelateVo);
	
	/**
	 * 查询标签相关资讯数
	 * @param tagRelateVo
	 * @return
	 */
	public Integer getAboutTagProductsByPidCount(TagRelateVo  tagRelateVo);
	
	
	/**
	 * 查询标签相关产品
	 * @param tagRelateVo
	 * @return
	 */
	public List<TagProductDTO> getAboutTagNewsByPid(TagRelateVo  tagRelateVo);
	
	/**
	 * 查询标签相关产品数
	 * @param tagRelateVo
	 * @return
	 */
	public Integer getAboutTagNewsByPidCount(TagRelateVo  tagRelateVo);


	public Map<String, Object> getNewsUpdateDate(Map<String, Object> map) throws SQLException;

	/**
	 * 更新fp_fa_user 中 U_LAST_NEWS_DATE 字段 表示已读消息
	 */
	public void updateLastDate(Map<String, Object> parMap);

	/**
	 * 查询最后更新推送消息
	 */
	public Map<String, Object> getJPushListUpdateDate(Map<String, Object> paramMap) throws SQLException ;


	/**
	 * 查询最后更新推送消息-店铺消息
	 */
	public Map<String, Object> getJPushListShopUpdateDate(Map<String, Object> paramMap) throws SQLException ;

	/**
	 * 更新fp_fa_user 中 U_LAST_JPUSH_SHOP_DATE 字段 表示已读消息
	 */
	public void updateLastJPushListShopDate(Map<String, Object> parMap);
	/**
	 * 更新fp_fa_user 中 U_LAST_NEWS_DATE 字段 表示已读消息
	 */
	public void updateLastJPushListDate(Map<String, Object> parMap);
	
	/**
	 * 极光推送列表
	 * @param queryVo
	 * @return
	 */
	public List<MessageJpushDTO> getJPushList(QueryNewsVo queryVo);

	/**
	 * 极光推送列表数
	 * @param queryVo
	 * @return
	 */
	public  int getJPushListCount(QueryNewsVo queryVo);


	/**
	 * 极光推送列表-店铺消息
	 * @param queryVo
	 * @return
	 */
	public List<MessageJpushDTO> getJPushListShop(QueryNewsVo queryVo) ;
	/**
	 * 极光推送列表数 -店铺消息
	 * @param queryVo
	 * @return
	 */
	public int getJPushListShopCount(QueryNewsVo queryVo) ;
}
